package ar.edu.utn.frba.tacs.warnes.beans;

import java.util.ArrayList;
import java.util.List;

import javax.faces.model.SelectItem;

import ar.edu.utn.frba.tacs.warnes.pedido.Pedido;
import ar.edu.utn.frba.tacs.warnes.pieza.Pieza;
import ar.edu.utn.frba.tacs.warnes.utils.ConstantesWarnes;
import ar.edu.utn.frba.tacs.warnes.utils.ContenedorWarnes;

/**
 * @author dmiglino
 */
public class PedidoPiezasAbmBean extends BaseAbmBean<Pieza> {
	private Pedido pedido = ((Pedido) getFromSession(ConstantesWarnes.ENTITY));
	private List<Pieza> piezasDelPedido;

	public void setPiezasDelPedido(List<Pieza> piezasDelPedido) {
		for (Pieza pieza : ContenedorWarnes.getInstance().getPiezas(
				piezasDelPedido)) {
			this.pedido.agregarPieza(pieza);
		}
		this.piezasDelPedido = this.pedido.getPiezas();
	}

	public List<Pieza> getPiezasDelPedido() {
		this.piezasDelPedido = this.pedido.getPiezas();
		return this.piezasDelPedido;
	}

	public List<SelectItem> getPiezasDisponibles() {
		this.pedido = ((Pedido) getFromSession(ConstantesWarnes.ENTITY));
		List<SelectItem> piezas = new ArrayList<SelectItem>();
		for (Pieza pieza : ContenedorWarnes.getInstance().getPiezas()) {
			if (!this.pedido.tienePieza(pieza) && pieza.estaDisponible()) {
				piezas.add(new SelectItem(pieza.getDescripcion(), pieza
						.getDescripcion()));
			}
		}
		return piezas;
	}

	@Override
	protected void initObject() {
		// no hay object aca, no?
	}

	@Override
	protected void doBeforeCancelar() {
		// TODO Auto-generated method stub
	}
}
